Общий принцип работы DAG’ов

Все DAG’и проекта dataCraft Core имеют общую структуру для того, чтобы пользователю легче было построить собственную логику на основе имеющихся “строительных блоков”.

Параметры запуска

Во всех DAG’ах есть параметр namespace, который определяет:

  • какие конфиги будут использованы (см. Configs)
  • где располагается папка с проектом dbt.
    Папку проекта dbt можно поменять отдельно с помощью конфига base > dbt_dir.

Шаги работы

  1. Во время парсинга DAG’а с помощью функции get_configs(...) определяются все конфиги, релевантные для него.

Все шаги далее представляют собой задачу или группу задач в Airflow.
2. Шаг before, на котором DAG выполняет подготовительную работу, например, создает необходимые папки (см. документацию по конкретному DAG’у).
3. Шаг prepare, на котором DAG определяет список для итерации. Он определяет содержимое всех задач на следующем этапе, например, соединения Airbyte, для которых нужно включить синхронизацию. Пользователь шага prepare и перед следующим шагом iterate может добавить задачу, которая будет модифицировать этот список.
4. Шаг iterate, на котором на каждый элемент списка для итерации создается динамическая задача или динамическая группа задач.
5. Шаг after, на котором DAG очищает или освобождает выделенные ресурсы, например, удаляет созданные временные папки и файлы.